package com.mtsmda.oracleOfficialTutorialJAVA7.chapter1.nestedClasses;

public class InnerStaticClass {
	
	private String a = "a";
	String b = "b";
	protected String c = "c";
	public String d = "d";
	
	private static int count = 0; 
	
	static class InnerClass{
		private String a = "a";
		String b = "b";
		protected String c = "c";
		public String d = "d";
		
		protected static int count = 0;
		
		public void print(){
			System.out.println("-- Inner static class --");
			System.out.println(this.a);
			System.out.println(this.b);
			System.out.println(this.c);
			System.out.println(this.d);
			
			System.out.println(InnerStaticClass.count);
			
			System.out.println(new InnerStaticClass().a);
			System.out.println(new InnerStaticClass().b);
			System.out.println(new InnerStaticClass().c);
			System.out.println(new InnerStaticClass().d);
			System.out.println("-----");
		}
		
		public static void go(){
			System.out.println("go is static");
		}
	}
	
	public void print(){
		System.out.println("-- Outer static class --");
		System.out.println(this.a);
		System.out.println(this.b);
		System.out.println(this.c);
		System.out.println(this.d);
		
//		System.out.println(InnerStaticClass.InnerClass.a);
//		System.out.println(InnerStaticClass.InnerClass.b);
//		System.out.println(InnerStaticClass.InnerClass.c);
//		System.out.println(InnerStaticClass.InnerClass.d);
		System.out.println("-----");
	}
	
}